/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;


import controladores.ConvenioXPeriodoXEstudianteFacadeLocal;
import entidades.Estudiante;
import entidades.EvaluacionFinalLogros;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import negocio.EstudianteInterface;
import negocio.EvaluacionFinalLogrosInterface;

/**
 *
 * @author BATAQUERO
 */
@ManagedBean
@ViewScoped
public class FEvalFinalLogros implements Formato{
    private EvaluacionFinalLogros evaluacionFinalLogros = new EvaluacionFinalLogros();
    @EJB
    private EvaluacionFinalLogrosInterface evaluacionFinalLogrosInterface;
    @EJB
    private ConvenioXPeriodoXEstudianteFacadeLocal convenioXPeriodoXEstudianteFacadeLocal;
    
    private EstudianteInterface estudianteInterface;
    private Estudiante estudiante = new Estudiante();
    @ManagedProperty(value = "#{sessionBean}")
    private SessionBean sessionBean;  
    
    private String ESTADO_PERIODO = "ACT";
    private boolean renderedBotonGuardar;
    private boolean renderedBotonEditar;
    private boolean renderedBotonImprimir;
    
    public FEvalFinalLogros(){
    }
    
    @PostConstruct
    public void InicializarVariables() {
       HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        if (request.getParameter("accionEvaluacionFinalLogros") != null) {
            String accion = (String) request.getParameter("accionEvaluacionFinalLogros");
            if (accion.equals("Consultar")) {
                if (request.getParameter("evaluacionFinalLogros") != null) {
                    evaluacionFinalLogros = evaluacionFinalLogrosInterface.consultarEvaluacionFinalLogros(Integer.parseInt(request.getParameter("evaluacionFinalLogros").toString()));
                    estudiante = evaluacionFinalLogros.getConvenioXPeriodoXEstudiante().getEstudiante();
                    renderedBotonGuardar = false;
                    renderedBotonEditar = true;
                    renderedBotonImprimir = true;
                }
            } else {
                if (accion.equals("Editar")) {
                    if (request.getParameter("evaluacionFinalLogros") != null) {  
                }
                } else {
                    if (accion.equals("Nuevo")) {
                        estudiante = new Estudiante();
                        estudiante = sessionBean.getUsuarioSession().getEstudiante();
                        renderedBotonGuardar = false;
                        renderedBotonEditar = false;
                        renderedBotonImprimir = true;
                    }
                }
            }
        }
    }
    
    @Override
        public void ConsultarFormato(){
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.        
        }

        @Override
        public void DiligenciarFormato() {
            System.out.println("ingresa al metodo de guardado---------------------------------");
            try {
                evaluacionFinalLogros.setConvenioXPeriodoXEstudiante(convenioXPeriodoXEstudianteFacadeLocal.consultarConvenioXPeriodoXEstudiante(Integer.parseInt(sessionBean.getUsuarioSession().getIdUsuario().toString()),ESTADO_PERIODO));
                evaluacionFinalLogros.setIdEvaluacionFinalLogros(evaluacionFinalLogrosInterface.obtenerMaxId());
                evaluacionFinalLogrosInterface.crear(evaluacionFinalLogros);
                FacesMessage facesMessage = new FacesMessage("Datos guardados con éxito");
                FacesContext.getCurrentInstance().addMessage(null, facesMessage);
                limpiarCampos();
            } catch (Exception e) {
                FacesMessage facesMessage = new FacesMessage("Error");
                FacesContext.getCurrentInstance().addMessage(null, facesMessage);
                e.printStackTrace();
            }
        }

        @Override
        public void AprobarFormato() {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }

        @Override
        public void EditarFormato() {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    
//        private void inicializarControladores() {
//        FacesContext context = FacesContext.getCurrentInstance();
//        //pruebaJpaController = (PruebaJpaController) context.getELContext().getELResolver().getValue(context.getELContext(), null, "pruebaJpaController");
//        //estudianteJpaController = (EstudianteJpaController) context.getELContext().getELResolver().getValue(context.getELContext(), null, "estudianteJpaController");
////        supervisorJpaController = (SupervisorJpaController) context.getELContext().getELResolver().getValue(context.getELContext(), null, "supervisorJpaController");
//        //entidadJpaController = (EntidadJpaController) context.getELContext().getELResolver().getValue(context.getELContext(), null, "entidadJpaController");
//        //supervisorEntidadJpaController = (SupervisorEntidadJpaController) context.getELContext().getELResolver().getValue(context.getELContext(), null, "supervisorEntidadJpaController");
//        
//    }

    private void limpiarCampos(){
        evaluacionFinalLogros = null;       
    }
    
    public EvaluacionFinalLogros getEvaluacionFinalLogros() {
        return evaluacionFinalLogros;
    }

    public void setEvaluacionFinalLogros(EvaluacionFinalLogros evaluacionFinalLogros) {
        this.evaluacionFinalLogros = evaluacionFinalLogros;
    }

    public SessionBean getSessionBean() {
        return sessionBean;
    }

    public void setSessionBean(SessionBean sessionBean) {
        this.sessionBean = sessionBean;
    }

    public Estudiante getEstudiante() {
        return estudiante;
    }

    public void setEstudiante(Estudiante estudiante) {
        this.estudiante = estudiante;
    }

    public boolean isRenderedBotonEditar() {
        return renderedBotonEditar;
    }

    public void setRenderedBotonEditar(boolean renderedBotonEditar) {
        this.renderedBotonEditar = renderedBotonEditar;
    }

    public boolean isRenderedBotonImprimir() {
        return renderedBotonImprimir;
    }

    public void setRenderedBotonImprimir(boolean renderedBotonImprimir) {
        this.renderedBotonImprimir = renderedBotonImprimir;
    }

    public boolean isRenderedBotonGuardar() {
        return renderedBotonGuardar;
    }

    public void setRenderedBotonGuardar(boolean renderedBotonGuardar) {
        this.renderedBotonGuardar = renderedBotonGuardar;
    }
    
    
    
        
}
